﻿<!--/* 
* Copyright (c) 2010, The University of Texas at Austin
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, 
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, 
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice, 
* this list of conditions and the following disclaimer in the documentation and/or other materials 
* provided with the distribution.
*
* Neither the name of The University of Texas at Austin nor the names of its contributors may be 
* used to endorse or promote products derived from this software without specific prior written 
* permission.
* 
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR 
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 
* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/-->
 <Window x:Class="Bio.Views.Structure.Editor.Views.DefaultNucleotideRenderingOptionsEditor"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:ViewModels="clr-namespace:Bio.Views.Structure.Editor.ViewModels"
        xmlns:Controls="clr-namespace:Bio.Controls;assembly=Bio.Controls.ColorPicker"
        xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
        xmlns:julmar="http://www.julmar.com/wpfhelpers"
        xmlns:Converters="clr-namespace:Bio.Views.Structure.Editor.Internal.Converters"
        xmlns:SEBehaviors="clr-namespace:Bio.Views.Structure.Editor.Internal.Behaviors"
        xmlns:Resources="clr-namespace:Bio.Views.Structure.Editor.Resources"
        Title="Edit Default Nucleotide Rendering Options" 
        Height="450" 
        Width="500"
        WindowStartupLocation="CenterOwner"
        WindowStyle="SingleBorderWindow"
        Background="DarkGray"
        ResizeMode="NoResize">
    <Grid>
        <Grid.Resources>
            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                    <Resources:DataTemplates />
                </ResourceDictionary.MergedDictionaries>
            </ResourceDictionary>
        </Grid.Resources>
           
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
        </Grid.RowDefinitions>
        
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="0.3*"></ColumnDefinition>
            <ColumnDefinition></ColumnDefinition>
        </Grid.ColumnDefinitions>

        <TextBlock Foreground="White" 
                   TextWrapping="Wrap" 
                   FontWeight="Bold" 
                   Margin="10"
                   Grid.Row="0"
                   Grid.Column="0"
                   Grid.ColumnSpan="2">
            Select or Create a Nucleotide Rendering Default Option Set and Configure the Properties.
        </TextBlock>

        <GroupBox Grid.Column="0"
                  Grid.Row="1"
                  Margin="2"
                  Header="Option Sets">
            <ListBox x:Name="defaultsSelector"
                     SelectedItem="{Binding Path=SelectedOptionsSet}"
                     ItemsSource="{Binding Path=OptionsSets}"
                     DisplayMemberPath="Label">
            </ListBox>
            <GroupBox.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="New Option Set"
                              Command="{Binding Path=AddNewNucleotideRenderingDefaultsOptionSet}"></MenuItem>
                    <MenuItem Header="Reset to Builtins"
                              Command="{Binding Path=ResetRuntimeDefaultNucleotideRenderingOptionsToBuiltInDefaultsCommand}"></MenuItem>
                </ContextMenu>
            </GroupBox.ContextMenu>
        </GroupBox>
              
        <Grid Grid.Column="1"
              Grid.Row="1"
              Margin="2">
            <GroupBox Header="Option Set Properties">
                <TabControl>
                    <TabItem Header="Global">
                        <ContentControl Content="{Binding ElementName=defaultsSelector, Path=SelectedItem}"
                                    ContentTemplate="{StaticResource NucleotideGlobalRenderingOptionsTemplate}"
                                    Margin="0,5,0,5"></ContentControl>
                    </TabItem>
                    <TabItem Header="Text">
                        <ContentControl Content="{Binding ElementName=defaultsSelector, Path=SelectedItem}"
                                    ContentTemplate="{StaticResource NucleotideTextRenderingOptionsTemplate}"
                                    Margin="0,5,0,5"></ContentControl>
                    </TabItem>
                    <TabItem Header="Circle">
                        <ContentControl Content="{Binding ElementName=defaultsSelector, Path=SelectedItem}"
                                    ContentTemplate="{StaticResource NucleotideCircleRenderingOptionsTemplate}"
                                    Margin="0,5,0,5"></ContentControl>
                    </TabItem>
                </TabControl>
            </GroupBox>
        </Grid>

        <StackPanel Margin="5"
                    Grid.Row="2"
                    Grid.Column="0"
                    Grid.ColumnSpan="2"
                    Orientation="Horizontal"
                    HorizontalAlignment="Right">
            <Button Content="Reset to Factory" MinWidth="75" Padding="10,5" Margin="5">
                <Interactivity:Interaction.Triggers>
                    <Interactivity:EventTrigger EventName="Click">
                        <julmar:InvokeCommand Command="{Binding Path=ResetRuntimeDefaultNucleotideRenderingOptionsToBuiltInDefaultsCommand}" />
                    </Interactivity:EventTrigger>
                </Interactivity:Interaction.Triggers>
            </Button>
            <Button Content="New Option Set" MinWidth="75" Padding="10,5" Margin="5">
                <Interactivity:Interaction.Triggers>
                    <Interactivity:EventTrigger EventName="Click">
                        <julmar:InvokeCommand Command="{Binding Path=AddNewNucleotideRenderingDefaultsOptionSetCommand}" />
                    </Interactivity:EventTrigger>
                </Interactivity:Interaction.Triggers>
            </Button>
            <Button Content="OK" MinWidth="75" Padding="10,5" Margin="5" IsDefault="True">
                <Interactivity:Interaction.Behaviors>
                    <julmar:CloseDialogBehavior DialogResult="True" />
                </Interactivity:Interaction.Behaviors>
            </Button>
            <Button Content="Cancel" MinWidth="75" Padding="10,5" Margin="5" IsCancel="True" />
        </StackPanel>
    </Grid>
</Window>
